// 扩展安装事件
chrome.runtime.onInstalled.addListener(function(details) {
  if (details.reason === 'install') {
    // 首次安装时的初始化
    console.log('书签管理器扩展已安装');
    
    // 初始化存储数据结构
    chrome.storage.local.get('bookmarks', function(result) {
      if (!result.bookmarks) {
        chrome.storage.local.set({bookmarks: []}, function() {
          console.log('书签存储已初始化');
        });
      }
    });
    
    // 显示欢迎消息
    chrome.notifications.create({
      type: 'basic',
      iconUrl: 'images/icon48.png',
      title: '我的书签管理器',
      message: '欢迎使用书签管理器扩展！点击扩展图标开始使用。'
    });
  } else if (details.reason === 'update') {
    // 更新时的操作
    console.log('书签管理器扩展已更新');
  }
});

// 监听消息来自popup或content scripts
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
  if (request.action === 'getCurrentTab') {
    // 获取当前标签页信息
    chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
      if (tabs && tabs[0]) {
        sendResponse({
          title: tabs[0].title,
          url: tabs[0].url
        });
      }
    });
    return true; // 异步响应
  }
});

// 提供书签搜索功能（可以被popup.js调用）
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
  if (request.action === 'searchBookmarks') {
    const query = request.query.toLowerCase();
    
    chrome.storage.local.get('bookmarks', function(result) {
      const bookmarks = result.bookmarks || [];
      const filteredBookmarks = bookmarks.filter(bookmark => 
        bookmark.title.toLowerCase().includes(query) ||
        bookmark.url.toLowerCase().includes(query) ||
        (bookmark.tags && bookmark.tags.some(tag => tag.toLowerCase().includes(query)))
      );
      
      sendResponse({bookmarks: filteredBookmarks});
    });
    return true; // 异步响应
  }
});

// 定期清理功能已移除，用户不需要定期清理旧书签数据

// 监听标签页创建事件，可用于自动添加书签（可选功能）
chrome.tabs.onCreated.addListener(function(tab) {
  // 这里可以添加自动添加书签的逻辑
  // 例如：检测特定URL模式并自动添加书签
});

// 监听浏览器关闭事件，确保数据保存
chrome.windows.onRemoved.addListener(function(windowId) {
  // 浏览器关闭前的清理工作
  console.log('浏览器窗口关闭，确保数据已保存');
});

// 提供导出书签功能（可选）
function exportBookmarks() {
  chrome.storage.local.get('bookmarks', function(result) {
    const bookmarks = result.bookmarks || [];
    const dataStr = JSON.stringify(bookmarks, null, 2);
    const dataBlob = new Blob([dataStr], {type: 'application/json'});
    
    // 在实际应用中，这里可以提供下载链接
    console.log('书签数据已导出');
  });
}

// 提供导入书签功能（可选）
function importBookmarks(bookmarksData) {
  try {
    const bookmarks = JSON.parse(bookmarksData);
    // 验证数据格式
    if (Array.isArray(bookmarks)) {
      chrome.storage.local.set({bookmarks}, function() {
        console.log('书签数据已导入');
      });
      return true;
    }
  } catch (e) {
    console.error('导入书签失败:', e);
  }
  return false;
}